(declare-fun a () String)
(declare-fun b () String)
(assert (str.in_re (str.++ a "z" b) (re.+ (re.+ (str.to_re "b")))))
(assert (str.in_re (str.++ a "z" b) (re.* (re.union (str.to_re "b") (str.to_re "a")))))
(assert (str.in_re (str.++ a "z" b) (re.* (re.union (str.to_re "z") (str.to_re "b")))))
(assert (str.in_re (str.++ a "z" b) (re.* (re.++ (re.* (str.to_re "z")) (str.to_re "b")))))
(check-sat)
